(deftemplate intrebare
	(slot stringIntrebare)
	(slot raspuns)
)
(deftemplate degustareVin
	(multislot meniu)
	(slot vin)
    
)
(assert (intrebare (stringIntrebare nil)(raspuns nil)))
(printout t  crlf "     Feluri de mancare " crlf  )

(assert (degustareVin (meniu Antreuri)(vin nil)))
(assert (degustareVin (meniu Legume)(vin nil)))
(assert (degustareVin (meniu Mezeluri)(vin nil)))
(assert (degustareVin (meniu Fructe de mare)(vin nil)))
(assert (degustareVin (meniu Peste si crustacee)(vin nil)))
(assert (degustareVin (meniu Carne rosie)(vin nil)))
(assert (degustareVin (meniu Carne alba)(vin nil)))
(assert (degustareVin (meniu Carne de vanat)(vin nil)))
(assert (degustareVin (meniu Carne de vanat cu sos de fructe negre)(vin nil)))
(assert (degustareVin (meniu Carne de vanat cu pene)(vin nil)))
(assert (degustareVin (meniu Branzeturi)(vin nil)))
(assert (degustareVin (meniu Gustari)(vin nil)))

(printout t "     1.  Antreuri" crlf)
(printout t "     2.  Legume" crlf)
(printout t "     3.  Mezeluri" crlf)
(printout t "     4.  Fructe de mare" crlf)
(printout t "     5.  Peste si crustacee" crlf)
(printout t "     6.  Carne rosie" crlf)
(printout t "     7.  Carne alba" crlf)
(printout t "     8.  Carne de vanat" crlf)
(printout t "     9.  Carne de vanat cu sos de fructe negre" crlf)
(printout t "     10. Carne de vanat cu pene" crlf)
(printout t "     11. Branzeturi" crlf)
(printout t "     12. Gustari" crlf crlf )


(defrule q1
	(intrebare (stringIntrebare nil)(raspuns nil))
	=>
	(printout t "Alegeti o mancare" crlf)
	(bind ?r (read))                                       
	(assert (intrebare (stringIntrebare "Alegeti o mancare")(raspuns ?r)))
)

(defrule q2
	(intrebare (stringIntrebare "Alegeti o mancare")(raspuns 1))
	=>
	(printout t "Va recomandam un vin alb sec si lejer, dar cu prospetime accentuata.") 
)

(defrule q3
	(intrebare (stringIntrebare "Alegeti o mancare")(raspuns 2))
	=>
	(printout t "Va recomandam un vin alb sec sau vin rosu lejer." crlf)
)
(defrule q4
	(intrebare (stringIntrebare "Alegeti o mancare")(raspuns 3))
	=>
	(printout t "Va recomandam un vin roze, vin rosu lejer, proaspat, putin expresiv." crlf)
)
(defrule q5
	(intrebare (stringIntrebare "Alegeti o mancare")(raspuns 4))
	=>
	(printout t "Va recomandam un vin alb sec, usor acid, de expresivitate medie." crlf)
)

(defrule q6
	(intrebare (stringIntrebare "Alegeti o mancare")(raspuns 5))
	=>
	(printout t "Va recomandam un vin alb sec, fructat, cu un buchet amplu; pestelui cu sos i se potriveste chiar un vin demisec." crlf)
 )

(defrule q7
	(intrebare (stringIntrebare "Alegeti o mancare")(raspuns 6))
	=>
	(printout t "Va recomandam un vin rosu, expresiv si plin." crlf)
 )
(defrule q8
	(intrebare (stringIntrebare "Alegeti o mancare")(raspuns 7))
	=>
	(printout t "Va recomandam un vin rosu lejer, de expresivitate medie." crlf)
 )
(defrule q9
	(intrebare (stringIntrebare "Alegeti o mancare")(raspuns 8))
	=>
	(printout t "Va recomandam un vin rosu foarte puternic si plin." crlf)
 )
 (defrule q10
	(intrebare (stringIntrebare "Alegeti o mancare")(raspuns 9))
	=>
	(printout t "Va recomandam un vin rosu foarte puternic si plin." crlf)
 )
(defrule q11
	(intrebare (stringIntrebare "Alegeti o mancare")(raspuns 10))
	=>
	(printout t "Va recomandam un vin rosu lejer; pentru vanat cu penaj alb si rosu mai taninos pentru vanat cu pene inchise." crlf)
 )
(defrule q12
	(intrebare (stringIntrebare "Alegeti o mancare")(raspuns 11))
	=>
	(printout t "Va recomandam un vin alb sec." crlf)
 )
(defrule q13
	(intrebare (stringIntrebare "Alegeti o mancare")(raspuns 12))
	=>
	(printout t "Va recomandam un vin spumant, Champagne, vinuri dulci naturale." crlf)
 )

(agenda)
(facts)

(run)
